/**
 * 
 */
package com.tomagency.cyberlab.client.events;

import com.google.gwt.event.shared.GwtEvent;

/**
 * @author gfr
 *
 */
public class WindowScrollEvent extends GwtEvent<WindowScrollEventHandler> {
	
	public static Type<WindowScrollEventHandler> TYPE = new Type<WindowScrollEventHandler>();
	
	private boolean scrollDown;
	private boolean scrollRight;
	private int clientWidth;
	private int clientHeight;
	private int topPosition;
	private int leftPosition;
	
	/**
	 * @return the scrollDown
	 */
	public boolean isScrollDown() {
		return scrollDown;
	}

	/**
	 * @param scrollDown the scrollDown to set
	 */
	public void setScrollDown(boolean scrollDown) {
		this.scrollDown = scrollDown;
	}

	/**
	 * @return the scrollRight
	 */
	public boolean isScrollRight() {
		return scrollRight;
	}

	/**
	 * @param scrollRight the scrollRight to set
	 */
	public void setScrollRight(boolean scrollRight) {
		this.scrollRight = scrollRight;
	}

	/**
	 * @return the containerWidth
	 */
	public int getClientWidth() {
		return clientWidth;
	}

	/**
	 * @param containerWidth the containerWidth to set
	 */
	public void setClientWidth(int containerWidth) {
		this.clientWidth = containerWidth;
	}

	/**
	 * @return the containerHeight
	 */
	public int getClientHeight() {
		return clientHeight;
	}

	/**
	 * @param containerHeight the containerHeight to set
	 */
	public void setClientHeight(int containerHeight) {
		this.clientHeight = containerHeight;
	}

	/**
	 * @return the topPosition
	 */
	public int getTopPosition() {
		return topPosition;
	}

	/**
	 * @param topPosition the topPosition to set
	 */
	public void setTopPosition(int topPosition) {
		this.topPosition = topPosition;
	}

	/**
	 * @return the leftPosition
	 */
	public int getLeftPosition() {
		return leftPosition;
	}

	/**
	 * @param leftPosition the leftPosition to set
	 */
	public void setLeftPosition(int leftPosition) {
		this.leftPosition = leftPosition;
	}

	@Override
	protected void dispatch(WindowScrollEventHandler handler) {
		handler.onWindowScrollEvent(this);
		
	}

	@Override
	public Type<WindowScrollEventHandler> getAssociatedType() {
		return TYPE;
	}

}
